package account;

/**
 * Dieses Programm dient der Verwaltung mehrere Konten in einem Depot.
 * <br>
 * Der Benutzer hat dabei die Moeglichkeit multiple Konten gleichzeitig zu Verwalten (1-10).<br>
 * Auf Konten kann Geld eingezahlt sowie abeghoben werden. Dabei werden alle Tranksaktionen einem Log angezeigt.<br>
 * Zur besseren Uebersicht ueber die Konten, werden die Verteilungen in einem Kuchendiagramm dargestellt.
 *
 * @author Patrick Bauer
 */
public class AccountManagementMain {

    private AccountManagementMain() {}    
    
    /**
     * Prueft ob die Anzahl der Konten uebergeben wurde (Standard: 3) und testet,<br>
     * ob diese im moeglichen Rahmen liegt (1-10 Konten).
     * <br><br>
     * Zusaetzlich wird das Hauptfenster instanziert und aufgerufen.
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int accountCount = 3;
        
        if(args.length > 0) {
            try{
                accountCount = Integer.parseInt(args[0]);
            } catch (NumberFormatException e) {}
            
            if(accountCount > 10) {
                accountCount = 10;
            } else if(accountCount < 1) {
                accountCount = 1;
            }
        } 
        
        MainWindow mainWindow = new MainWindow(accountCount);
        mainWindow.showWindow();
    }
}
